#ifndef ITEM_H_
#define ITEM_H_

#include <ctime>
#include <cstring>
#include <iostream>
#include <string>

using namespace std;

class Item {
private:
    time_t start;

    time_t end;

    string title;

    string description;

    int level;

    int type;

public:
    Item();

    bool setLevel(int);

    bool setType(int);

    bool setStartDate(time_t);

    bool setEndDate(time_t);

    bool setTitle(string);

    bool setDescription(string);

    int isValid();                // returns the type if it is valid, zero otherwise

    time_t getStartTime();

    time_t getEndTime();

    string getTitle();

    string getDescription();

    int getLevel();

    int getType();

    bool operator ()(Item x, Item y);

    friend ostream &operator<<(ostream &stream, Item o);
};

#endif
